const axios = require('axios');

const BASE_URL = 'http://localhost:3001';

// 创建默认管理员账号
async function createDefaultAdmin() {
  console.log('正在创建默认管理员账号...');
  
  const adminData = {
    adminname: 'admin',
    password: '123456',
    roleKeys: ['ADMIN'],
    departmentId: '',
    departmentName: '系统管理部'
  };
  
  try {
    const response = await axios.post(`${BASE_URL}/admin/admin/add`, adminData, {
      headers: {
        'Content-Type': 'application/json'
      }
    });
    
    console.log('响应状态码:', response.status);
    console.log('响应数据:', response.data);
    
    if (response.data.code === '200') {
      console.log('✓ 默认管理员账号创建成功');
      console.log('管理员用户名: admin');
      console.log('管理员密码: 123456');
      return true;
    } else if (response.data.code === '10004') {
      console.log('✓ 管理员账号已存在，可以直接使用');
      return true;
    } else {
      console.log('✗ 创建管理员账号失败:', response.data.message);
      return false;
    }
  } catch (error) {
    console.error('✗ 创建管理员账号时发生错误:', error.message);
    if (error.response) {
      console.error('错误响应:', error.response.data);
    }
    return false;
  }
}

// 运行创建管理员
if (require.main === module) {
  createDefaultAdmin().then((success) => {
    if (success) {
      console.log('\n管理员账号准备完成，现在可以运行管理员接口测试了');
      process.exit(0);
    } else {
      console.log('\n管理员账号创建失败');
      process.exit(1);
    }
  });
}

module.exports = { createDefaultAdmin };